package com.zlc.common.core.user.model.vo;

import com.zlc.common.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * @author  zl
 * @date 2023-05-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(description = "管理用户表")
public class MayanPlatUserVo extends BaseEntity implements Serializable {
	private static final long serialVersionUID = 0L;


	@ApiModelProperty(value="员工工号")
	private String userId;

	/**
	 * 用户账号
	 */
	@ApiModelProperty(value="用户账号")
	private String userAccount;

	/**
	 * 姓名
	 */
	@ApiModelProperty(value="姓名")
	private String username;

	/**
	 * 昵称
	 */
	@ApiModelProperty(value="昵称")
	private String nickName;

	/**
	 * 密码
	 */
	@ApiModelProperty(value="密码")
	private String password;

	/**
	 * 手机号
	 */
	@ApiModelProperty(value="手机号")
	private String mobile;

	/**
	 * 员工类型
	 */
	@ApiModelProperty(value="员工类型  INTERNAL 内部员工|EXTERNAL 外部员工")
	private String userType;

	/**
	 * 直接上级账号
	 */
	@ApiModelProperty(value="直接上级账号")
	private String superAccount;

	/**
	 * 最高等级岗位
	 */
	@ApiModelProperty(value="最高等级岗位")
	private String position;


	/**
	 * 所属最高部门
	 */
	@ApiModelProperty(value="所属最高部门")
	private String deptNo;

	/**
	 * 用户状态 ON_JOB在职|OFF_JOB离职
	 */
	@ApiModelProperty(value="用户状态 ON_JOB在职|OFF_JOB离职")
	private String status;


	@ApiModelProperty(value="是否是管理员Y/N")
	public String adminFlag;

	/**
	 * 邮箱
	 */
	@ApiModelProperty(value="邮箱")
	private String email;

	/**
	 * 入职日期
	 */
	@ApiModelProperty(value="入职日期")
	private Date onboardingTime;

	/**
	 * 离职日期
	 */
	@ApiModelProperty(value="离职日期")
	private Date resignationTime;


	/**
	 * 头像
	 */
	@ApiModelProperty(value="头像")
	private String img;

	@ApiModelProperty(value="上级名称")
	private String superUsername;

	@ApiModelProperty(value="登录失败次数")
	private Integer errorCount;

	@ApiModelProperty(value="是否锁定")
	private Boolean lockFlag;

	@ApiModelProperty(value="锁定时间")
	private Date lockTime;

	@ApiModelProperty(value="上次修改密码时间")
	private Date changePassTime;

	/**
	 * 角色关联用户id  或部门岗位关联员工ID
	 */
	private String relateId;

}
